package com.woniuxy.amusementparkos.service.wyh;

import java.math.BigDecimal;
import java.util.List;

import com.woniuxy.amusementparkos.entity.wyh.PageBean;
import com.woniuxy.amusementparkos.entity.wyh.WristStrap_Info;

public interface WristStrap_InfoService {
	//根据腕带信息id查询腕带信息
		WristStrap_Info getByInfoId(int info_id);
		
		
		//根据腕带id查询腕带信息
		List<WristStrap_Info> getByWristStrapId(String wriststrp_id);
		
		//查询所有腕带信息
			WristStrap_Info getAllWristStrapInfo();
		
		//新增腕带信息
			void insert(WristStrap_Info wristStrap_Info);
			
		//新增 wristrap对象 ，并且返回最新插入对象的info_id
			int insertBackInfoid(WristStrap_Info wristStrap_Info);
			
		//更新充值后余额
		void changeBalacne(int info_id,BigDecimal newbalance);
		
		//根据腕带编号wriststrp_id 查询该正在使用状态的信息；
		WristStrap_Info queryByWristStrap_Id(String wriststrp_id);
		
		//根据条件查询WristStrap_Info  (三个可选条件，动态sql,腕带编号，tel  和腕带状态)
		PageBean<WristStrap_Info> selectByCondition(WristStrap_Info wristStrap_Info,Integer pageindex,Integer size);
		
		//根据腕带编号，查询该正在使用状态的腕带信息；
		WristStrap_Info getWorkStateWristStrap(String wriststrp_id);
		
		//根据条件更新腕带信息 更新(腕带状态，腕带余额，腕带结算时间；)
		void updateWindupMessage(WristStrap_Info wristStrap_Info);

	    //强制结算，对所有腕带都进行更新（腕带状态，腕带结算时间；）
	    int updateAllWindupMessage(WristStrap_Info wristStrap_info);

	    //执行更换业务，更换腕带编号，
	    void  doreplace(String oldwriststrapid , String newwriststrapid);

	    //腕带挂失、解锁（根据腕带信息编号，查找腕带状态查找   更新为新状态）
	    void lossAndUnlock(String wriststrp_id, int oldinfo_state,int newinfo_state);


}
